﻿using CIS.Common.Enums;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CIS.Common.Entitys
{
    public class PortEntity : BaseEntity
    {
        public PortEntity()
        {
            CreationTime = DateTime.Now;
            CreatorId = "Admin";
        }
        public string? PortId { get; set; }
        public string? Name { get; set; }
        public string? QualifiedLocationId { get; set; }// name refer to plc map port name P01 P02
        public string? LocationId { get; set; }// locationid 没有实际意义 now set as unitpathno 
        public PortStatus Status { get; set; }
        public PortEnabled Enable { get; set; }
        public PortUseType PortUseType { get; set; }
        public PortType PortType { get; set; }
        public TransferMode TRSMode { get; set; }
        public bool GetEnable { get; set; }
        public string? LotId { get; set; }
        public int LotPriority { get; set; }
        public PortLotStatus LotStatus { get; set; }
        public string? ProductId { get; set; }
        public string? ProductCategory { get; set; }
        public string? PPID { get; set; }
        public string? OperationId { get; set; }
        public int UnitPathNo { get; set; }
        public bool IsTopFirst { get; set; }
        public bool IsAutoPutBottomFirst { get; set; }
        public int GetHand { get; set; }
        public string? WorkOrder { get; set; }
        public string? CassetteId { get; set; }
        public string? RobotName { get; set; }
        public BatchType BatchType { get; set; }
        public DateTime LoadTime { get; set; }
        public int RobotTeachingNo { get; set; }
        public int CassetteSequenceNo { get; set; }
        public string? GlassThickness { get; set; }
        public PortCassetteType CassetteType { get; set; }
        public string? UnitId { get; set; }
        public CassetteProcess CassetteStatus { get; set; }
        public string? SlotMap { get; set; }
        public int Capacity { get; set; }
        public bool IsWIPConcerned { get; set; }   //是否管WIP
        public string? JobExistenceSlot { get; set; }
        public string? SlottoStart { get; set; }
        public short JobCountinCassette { get; set; }
        public short JobCounttoProcess { get; set; }
        public string? CarrierType { get; set; }
        // todo   infodownloaad QTimeCheckFlag ? 没用到   QTimeCheckOK   
        public bool QTimeCheckFlag { get; set; }
        public PortGlassType PortGlassType { get; set; }
        public PortProductType PortProductType { get; set; }
        public PortJudgeGrade PortJudgeGrade { get; set; }
        public int BatchGetPriorty { get; set; }//1 上手臂先取 2 下手臂先取
        public int BatchPutPriorty { get; set; }//1 上手臂先放 2 下手臂先放
        public bool RmsScenarioFlag { get; set; }

    }
}
